package jmine.tec.web.pages;

import bancosys.tec.exception.LocalizedMessageHolder;
import bancosys.tec.exception.MessageCreator;
import bancosys.tec.exception.MessageCreatorHelper;

/**
 * Mensagens de Help do jmine-tec-web-pages
 * 
 * @author lundberg
 */
public enum HelpTextMessages implements MessageCreator {

    IMPORTACAO(0, "jmine.tec.datadigester.web.pages.importacao.Importacao"),

    EXECUTION_LOG_ITENS(0, "jmine.tec.datadigester.web.pages.importacao.ExecutionLogItens"),

    CONSULTA_TRILHA_AUDITORIA(0, "jmine.tec.persist.web.pages.audit.ConsultaTrilhaAuditoria"),

    AUTHORIZATION(0, "jmine.tec.persist.web.pages.Authorization"),

    GROUP_PESQUISA(0, "jmine.tec.security.impl.web.pages.grupousuario.PesquisaGroup"),

    GROUP_CADASTRO(0, "jmine.tec.security.impl.web.pages.grupousuario.CadastroGroup"),

    CONSULTA_EXCEPTION_RECORD(0, "jmine.tec.rtm.impl.web.pages.ConsultaExceptionRecord"),

    CONSULTA_DETALHE_EXCEPTION_RECORD(0, "jmine.tec.rtm.impl.web.pages.ConsultaDetalheExceptionRecord"),

    CONSULTA_DIAGNOSTICADOR(0, "jmine.tec.rtm.impl.web.pages.diagnosticador.ConsultaDiagnosticador"),

    CONSULTA_INTEGRACAO_ESPECIFICACAO(0, "jmine.tec.hydra.web.pages.especificacao.ConsultaIntegracaoEspecificacao"),

    CONSULTA_INTEGRACAO_ESPECIFICACAO_AGENDAMENTO(0,
            "jmine.tec.hydra.web.pages.especificacao.agendamento.ConsultaIntegracaoEspecificacaoAgendamento"),

    CONSULTA_INTEGRACAO_REQUISICAO(0, "jmine.tec.hydra.web.pages.requisicao.ConsultaIntegracaoRequisicao"),

    CONSULTA_DETALHE_INTEGRACAO_REQUISICAO(0, "jmine.tec.hydra.web.pages.requisicao.ConsultaDetalheIntegracaoRequisicao"),

    CONSULTA_SYNC_ERRO(0, "jmine.tec.sync.web.page.erro.syncronization");

    public static final String DEFAULT_BUNDLE = "jmine-tec-web-pages-help";

    private final MessageCreator delegate;

    /**
     * Construtor
     * 
     * @param nargs nargs
     * @param key key
     */
    private HelpTextMessages(int nargs, String key) {
        this(DEFAULT_BUNDLE, key, nargs);
    }

    /**
     * Construtor
     * 
     * @param bundle bundle
     * @param key key
     * @param nargs nargs
     */
    private HelpTextMessages(String bundle, String key, int nargs) {
        this.delegate = MessageCreatorHelper.creator(bundle, key, nargs);
    }

    /**
     * {@inheritDoc}
     */
    public LocalizedMessageHolder create(Object... arguments) {
        return this.delegate.create(arguments);
    }

    /**
     * {@inheritDoc}
     */
    public int getExpectedArguments() {
        return this.delegate.getExpectedArguments();
    }
}
